This invention relates to the field of computer systems. More particularly, a system and methods are provided for delivering operating system device drivers with a computing device.
A new computer system or platform is traditionally loaded with a new or up-to-date operating system configured to use all components of the system. In particular, the operating system is configured with device drivers for driving devices (e.g., network interface circuits, input/output devices) installed in the platform.
In those situations in which a platform is not sold or delivered with drivers for all devices, the owner or operator of the platform generally must install additional drivers. For example, if a driver or a newer driver becomes available after the platform is delivered, the owner may need to download or install the driver from diskette, across a network, etc.
As a result, it is difficult to execute an old operating system on a new computer platform, because the operating system will generally not be configured with drivers for controlling all components of the new platform. There is no readily available method or scheme for automatically updating an old operating system with functionality (e.g., drivers) needed for a new computer platform, particularly where the functionality was not available when the operating system was originally released.
In addition, when a computing platform executes a single operating system to manage all applications running on the platform, the operating system generally is unable to efficiently utilize all components of the platform. Utilization of a platform's capacity may be increased by using virtualization to simultaneously execute multiple operating systems or multiple instances of an operating system.
The problem described above regarding the lack of up-to-date drivers for an operating system may be exaggerated on a computing platform that executes multiple operating systems, especially when an operator or user is encouraged to execute an old (or relatively old) operating system in such a virtualized environment.